The invention relates to microcomputer-based video processing, and more particularly to apparatus for transferring video data among the devices of a microcomputer.
As the costs of high-resolution color computer displays and processing power come down, one of the emerging applications for microcomputers is video post production--displaying and editing video images using the display of the computer as the monitor during the editing process. In a computer video editing system, a video source, typically a video tape recorder, is read and stored in digital form on the disk of a computer. The video may be played back, edited, and written back to a video device.
Because a tape deck requires at least a few tenths of a second to stop or start the movement of the tape, a computer must read or write video data from/to the tape as the tape passes the tape head; that is, the computer must process the video data in real time. During the tape-to-disk, editing, and disk-to-tape processes, merely copying the video and audio data in real time presents a large computational demand, easily seen in the sheer data volume of a video program--30 frames per second, over 300,000 pixels per frame, and several bits per pixel. In addition to performing the data copying operations, the micro-computer must assert overall system management and interact with the user. As the demand of the data streams approaches the highest speed the micro-computer can effectively manage, data integrity is jeopardized. If any intermediate storage area on the path from the video device from/to the host computer's mass storage overflows, data will be lost. This loss can be hard to repair.
In known video editing systems, the CPU of the host computer had responsibility for copying data from device to device, keeping the video monitor updated, and concurrently executing user commands and supervising other system activities. Historically, the host CPU has controlled the flow of data through the computer, including all real-time aspects. Known video peripheral cards have assumed some control over data movement, but the host CPU has still been responsible for fairly fine-grain, real-time control. The data management requirements fluctuate as the amount of data fluctuates, for instance as video frames vary in their compressibility.